function [Result] = Ddavid_MLkNN_caller(AllDataTraining, RecoveredLabel, MLkNN_K, FullKNNListTrainingToTraining, AllDataTesting, TrueLabelTesting, FullKNNListTestingToTraining)

[Result.Prior, Result.PriorN, Result.Cond, Result.CondN] = MLKNN_train_with_knnlist(AllDataTraining, RecoveredLabel', MLkNN_K, 1, FullKNNListTrainingToTraining);
[Result.HammingLoss, Result.RankingLoss, Result.OneError, Result.Coverage, Result.Average_Precision, Result.Outputs, Result.Pre_Labels] = MLKNN_test_with_knnlist(AllDataTraining, RecoveredLabel', AllDataTesting, TrueLabelTesting', MLkNN_K, Result.Prior, Result.PriorN, Result.Cond, Result.CondN, FullKNNListTestingToTraining);
[Result.Micro, Result.Macro] = Ddavid_get_micro_macro_prf(TrueLabelTesting, Result.Pre_Labels');
